﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Data.OleDb;
using DTO;
using DAO;
using BUS;
namespace QL_xxx
{
	/// <summary>
	/// Interaction logic for SuaQuyDinh.xaml
	/// </summary>
	public partial class SuaQuyDinh : Window
	{
        public event OnSuaQuyDinhThanhCong onSuaQuyDinhThanhCong;
        private int maQuyDinh;

        public int MaQuyDinh
        {
            get { return maQuyDinh; }
            set { maQuyDinh = value; }
        }


        private string tenQuyDinh;

        public string TenQuyDinh
        {
            get { return tenQuyDinh; }
            set { tenQuyDinh = value; }
        }


        private int moTa;

        public int MoTa
        {
            get { return moTa; }
            set { moTa = value; }
        }


        public SuaQuyDinh(int _maQuyDinh, string _tenQuyDinh, int _moTa)
		{
            MaQuyDinh = _maQuyDinh;
            TenQuyDinh = _tenQuyDinh;
            MoTa = _moTa;
			this.InitializeComponent();
			
			// Insert code required on object creation below this point.
		}

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            txtTenQuyDinh.Text = TenQuyDinh;
            txtMoTa.Text = MoTa.ToString();

            errorMota.Text = "OK";
            errorMota.Foreground = Brushes.Green;
         
        }

        private void txtMoTa_TextChanged(object sender, TextChangedEventArgs e)
        {
            if (txtMoTa.Text.Trim().Length == 0)
            {
                errorMota.Foreground = Brushes.Red;
                errorMota.Text = "Bạn phải điền giá trị vào đây.";
            }
            else
            {
                errorMota.Text = "OK";
                errorMota.Foreground = Brushes.Green; ;
            }
        }

        private void errorMota_TextChanged(object sender, TextChangedEventArgs e)
        {
            if (string.Compare(errorMota.Text, "OK") == 0 && string.Compare(errorMota.Text, "OK") == 0)
                btnLuu.IsEnabled = true;
            else
                btnLuu.IsEnabled = false;
        }

        private void btnHuy_Click(object sender, RoutedEventArgs e)
        {
            if (MessageBoxResult.Yes == MessageBox.Show("Bạn có chắc muốn thoát, thông tin sẽ không được lưu!", "Thông báo.", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No))
                this.Close();
        }

        private void btnLuu_Click(object sender, RoutedEventArgs e)
        {
            QuyDinhDTO QuyDinh = new QuyDinhDTO();
            QuyDinh.MaQuyDinh = MaQuyDinh;
            QuyDinh.TenQuyDinh = txtTenQuyDinh.Text;
            QuyDinh.MoTa = int.Parse(txtMoTa.Text);
            
            int kq = QuyDinhBUS.CapNhatQuyDinh(QuyDinh);

            switch (kq)
            {
                case QuyDinhBUS.ThatBai:
                    {
                        MessageBox.Show("Lỗi chưa xác định, vui lòng liên hệ nhà cung cấp.", "Lỗi", MessageBoxButton.OK, MessageBoxImage.Error);
                        break;
                    }
                case QuyDinhBUS.ThanhCong:
                    {
                        MessageBox.Show("Đã sửa.", "Sửa thành công", MessageBoxButton.OK, MessageBoxImage.Information);


                        onSuaQuyDinhThanhCong();
                        this.Close();
                        break;
                    }
            }
        }

        private void Window_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            if ((txtTenQuyDinh.IsFocused == true) && (e.Key == Key.Down))
                txtMoTa.Focus();
            else
                if (txtMoTa.IsFocused == true && e.Key == Key.Up)
                    txtTenQuyDinh.Focus();
        }



      

	}
}